package Static;
import java.util.Scanner;
public class Test {
    /*
    匿名对象可以作为一次调用
    也可以作为参数传出
    也可以作为参数 用return返回
     */
    public static void main(String[] args) {

//        把person作为参数返回
        Person a = one();
        a.seelp();

//        把Persoon作为参数传出
        sf(new Person());
        /*
        匿名调用的使用
         用于只调用一次，对于多次调用来说 如果运用匿名调用会频繁的创建对象也是
         不好的
         */
        Person i = new Person();
        i.eat();
//        匿名调用
        new Person().eat();

        int number = new Scanner(System.in).nextInt();
        Scanner sc = new Scanner(System.in);
        int ao = sc.nextInt();
        System.out.println(ao);
        System.out.println(number);


        Person o = new Student();
//        多态中调用的是父类的方法   因为静态是类 不是对象 没法用对象的多态解释
//        没有对象，也可以调用。
        o.show();
//        利用类名 可以直接调用类中的静态变量。
        /*
        在接口中，所有的方法都是静态的  public static void 修饰的
        所以在接口中的方法可以直接用接口名来直接调用。
         */
        Student.show();


        Person per = new Person();
        per.name = "小明";
        per.ClassName = "小李";

        Person per1 = new Person();
        per1.name = "小王";
//        per.ClassName = "小明";

        System.out.println(per.name + "   " + per1.ClassName);
    }

    //匿名对象参数传递 需要return语句
    public static void sf(Person p) {
        p.seelp();
    }

    public static Person one() {
        return new Person();
    }
}